Method and system of providing instant location service

ABSTRACT

An approach is disclosed for providing an instant location service. At a wireless device of a first user, mapping information of a second user is received over a wireless network. The mapping information specifies position of the second user within a prescribed proximity of the wireless device. The first user is notified of the location of the second user based on the received mapping information. A communication session is selectively initiated by the wireless device, over the wireless network to the second user.

BACKGROUND INFORMATION

Wireless communication technologies afford users with the convenience of mobility and continually expanding set of capabilities. This convenience has spawned significant adoption by an ever growing number of subscribers as an accepted mode of communication for business and personal uses in terms of communicating using voice and data services. As wireless communication devices become more sophisticated, their features have expanded from merely placing and receiving calls to other enhanced services from music downloads to navigational systems. To support navigational services, cellular phones are equipped with Global Positioning System (GPS) technology to broadcast their locations. Given the competitive landscape of the telecommunication industry, service providers are continually challenged to develop new products and services. However, few applications have been developed to exploit such information about the users' locations.

Therefore, there is a need for an approach that provides enhanced location services for wireless applications.

BRIEF DESCRIPTION OF THE DRAWINGS

Various exemplary embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements and in which:

FIG. 1 is a diagram of a communication system capable of providing instant location service, according with an exemplary embodiment;

FIG. 2 is a flowchart of a process for providing instant location service, according to an exemplary embodiment;

FIG. 3 is a flowchart of a process for obtaining mapping information for presentation at a wireless device, according to an exemplary embodiment;

FIG. 4 is a diagram of a wireless device capable of displaying location of users, according to an exemplary embodiment;

FIG. 5 is a flowchart of a process for communicating with a user who has entered a prescribed proximity, according to an exemplary embodiment;

FIG. 6 is a diagram of a wireless device capable of configuring a contact list in support of the location service, according to an exemplary embodiment;

FIG. 7 is a flowchart of a process for communicating with the instant location system of FIG. 1 to update user profile and contact list, according to an exemplary embodiment; and

FIG. 8 is a diagram of a computer system that can be used to implement various exemplary embodiments.

DETAILED DESCRIPTION

An apparatus, method, and software for providing an instant location service are described. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the various exemplary embodiments. It is apparent, however, to one skilled in the art that the various exemplary embodiments may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the exemplary embodiments.

Although the various embodiments are described with respect to Global Positioning System (GPS) technology, it is contemplated that these embodiments have applicability to other equivalent navigational and location determination technologies.

FIG. 1 is a diagram of a communication system capable of providing instant location service, according with an exemplary embodiment. The communication system 100 includes an instant location system 101 for detecting the presence and physical location of users (or subscribers) using, in an exemplary embodiment, wireless devices 103 a-103 n. The location of a wireless device (e.g., device 103 a) can be detected without the device 103 a having to initiate a phone call. A user, via the wireless device 103 a, can view the user's personal location on a map. In addition, the instant location system 101 provides a service that can show the location of other subscribers on the same map and within a pre-defined proximity. Accordingly, the user is able to contact by, for instance, calling or chatting with one or more of these other users.

In an exemplary embodiment, a location module 105 within the wireless device 103 a can obtain location information using Global Positioning System (GPS) technology, and thus, behaves as a GPS receiver. Each of the wireless devices 103 a-103 n employs a location module 105 that communicates with a constellation of satellites 107. These satellites 107 transmit very low power interference and jamming resistant signals received by the GPS receivers 105. At any point on Earth, the GPS receiver 105 can receive signals from multiple satellites (e.g., 6 to 11). Specifically, the GPS receiver 105 may determine three-dimensional geolocation from signals obtained from at least four satellites. Measurements from satellite tracking and monitoring stations located around the world are incorporated into orbital models for each satellite to compute precise orbital or clock data. GPS signals are transmitted over two spread spectrum microwave carrier signals that are shared by GPS satellites 107. The device 103 a needs to identify the signals from at least four satellites 107, decode the ephemeris and clock data, determine the pseudo range for each satellite 107, and compute the position of the receiving antenna.

With GPS technology, the wireless devices 103 a-103 n can determine their location with great accuracy and convenience. Also, the system 100 can employ Assisted GPS (A-GPS) to mitigate the lost of GPS signals from obstructions between the GPS receiver 105 and the satellites 107. When operating in A-GPS mode, the system 100 can provide for better in building or obstructed view geolocation. Assistance data can be transmitted to the devices 103 from the wireless network 109, in an exemplary embodiment, can include ephemeris data differential GPS correct data, timing data and/or other aiding data. Using the aiding (or assistance) data, the location module 105 performs geolocation calculations; for example, the devices 103 a-103 n can generate real-time speed and route adherence alerts. Additionally, transmission of geolocation data need not be frequent. Transmission of geolocation data is more compact because it is true location rather than pseudo range data. Also, the wireless devices 103 a-103 n can more intelligently request assistance data because the devices 103 a-103 n themselves can determine when the ephemeris data is no longer valid.

Each of the wireless devices 103 a-103 n utilizes a display 111 to present a graphic of a map and directions, as to permit viewing of the current location of other subscribers within the map of a pre-defined size (e.g., a street block wide, a mile wide, etc.). The wireless devices 103 a-103 n also includes a processor 113 and a memory 115 configured to store and execute instructions for supporting the instant location service, as well as other communication functions.

The instant location system 101 includes a mapping module 117 that receives location information from the wireless devices 103 a-103 n, and determines whether other users are within the proximity of a particular subscriber. That is, the location service allows subscribers using the wireless devices 103 a-103 n (and specified within each others' contact lists) to detect each other's presence and physical location, and to establish communication over the wireless network 109, a data network 121 and/or a telephony network 119 (such as a Public Switched Telephone Network (PSTN)).

Communication among the wireless devices 103, for example, can be audio communication (such as a telephony session) or text messaging (e.g., Instant Messaging (IM) and Short Message Service (SMS)). Instant messaging is a form of real-time communication between two or more users based on typed text, wherein the text is conveyed via computers connected over the data network 119, such as the Internet. As the name suggests, SMS service enables the transmission of short text messages among wireless devices 103 in a store and forward manner. These short text messages in general can be delivered at any point in time using out-of-band packet, low-bandwidth delivery mechanisms.

The contact lists can be maintained within a user profile database 123. The user profile can also include information about and identifiers of the users for dissemination to the wireless devices 103 a-103 n. The user profile can be updated by a user over the data network 109 through a computing device 125, which can be a personal computer (PC), laptop, palm computer, workstation, web appliance, etc. Further, the instant location system 101 includes, or utilizes, a presence service module 127 to capture presence information or availability of the users of the devices 103 a-103 n. An exemplary model for presence determination is detailed in Internet Engineering Task Force (IETF) Request for Comment (RFC) 2778, which is incorporated herein by reference in its entirety.

As mentioned, the instant location system 101 permits subscribers to detect each other's presence and physical location and initiate communication, as illustrated in FIGS. 2-6.

FIG. 2 is a flowchart of a process for providing instant location service, according to an exemplary embodiment. In step 201, the instant location system 101 tracks location of users (e.g., subscribers) using GPS technology. The proximity of these users are then determined, as in step 203. That is, the system 101 detects the geograhical location of the subscribers and locates subscribers within a pre-defined proximity and communicates their current location to other subscribers of the pre-defined same group (as defined by the contact list). This process is more fully described below with respect to FIG. 3. Next, the instant location system 101, via the mapping module 117, examines the contact lists of the users, cross-referencing the contact lists with the proximity of the users within the respective contact lists (step 205). The instant location system 101 then notifies, as in step 207, particular users about other users within the corresponding contact lists. For example, a particular user would be aware of the presence and physical location of users within the particular user's contact list. Subsequently, the particular user can opt to communicate with those users who are within the specified proximity of the particular user; a variety of communication methods—e.g., audio and/or text communication—can be utilized (step 209).

FIG. 3 is a flowchart of a process for obtaining mapping information for presentation at a wireless device, according to an exemplary embodiment. Location of the wireless devices 103 a-103 n are obtained from the devices 103 a-103 n themselves, which establish communication with the instant location system 101 (step 301). Location information, such as GPS data, is acquired through the location module 105, and transmitted to the mapping module 117. It is noted that the location information can be the raw GPS data or data that have been messaged or otherwise derived from the raw data, per step 303. In step 305, the mapping module 117 determines whether the users with the contact list are within the specified proximity, and outputs mapping information for displaying these users onto a map. In step 307, the wireless device 103 a, for example, receives the mapping information over the wireless network 109, and presents the map of the users to the particular subscriber (step 309).

FIG. 4 is a diagram of a wireless device capable of displaying location of subscribers, according to an exemplary embodiment. Under this scenario, a mobile device 401 includes a display 403 that is configured to present a graphical map of the location of the particular user 407 in relation to those users 409-413 who are on the contact list and determined to be within the pre-defined proximity. In one embodiment, the user of the mobile device 401 can select, via cursor buttons 415 or key pad 417, one of the other users on the map 405 to obtain additional information. The navigation from one user to the next can be indicated by a highlight, shown a dashed oval around the icon 409. Moreover, an optional capability can illustrate the direction of travel of the users through the use of arrows. In one embodiment, the user of the mobile device 401 is shown as traveling in the north direction.

Upon selection of the icon 409, the mobile device 401 can provide a pop-up menu 419 for information about the user associated with the icon 409. In this example, the user information includes an identifier (e.g., user name or alias), distance to the user, etc. Such user information can be specified as part of the user profile 123; that is, the information that is shared to the user of the mobile device 401 can be controlled by the user whose information is “published” to other users.

As seen in FIG. 4, the users 407-413 can be represented with a variety of symbolic icons, as to convey information about the users 407-413. For instance, if the user (e.g., user 413) is a police officer, an appropriate icon can be used. In this manner, the presence of police and traffic officers as well as other public service workers can be readily determined; and such users can be contacted for immediate emergency assistance.

In various exemplary embodiments, the instant location service can be used to assist users with special needs, especially those users with mobility limitations, e.g., those requiring a wheelchair or visually impaired. Such users can benefit from learning about the proximity of other users with similar disabilities; friends and acquaintances; or authority figures. Of course, for blind users, the proximity and location information can be conveyed aurally, rather then visually. The availability of this information and the access to these individuals (via a phone call or a text chat) can enhance the easiness and safety of their travel experience. In one embodiment, textual content from the devices 103 a-103 n can now be “read” aloud using a text-to-speech processor (not shown).

In addition, the pop-menu 419 can provide communication options for contacting the selected user 409. Under this scenario, the user can initiate a phone call or text messaging (e.g., IM or SMS). In an exemplary embodiment, a text box 421 indicates presence status information about the selected user 409.

FIG. 5 is a flowchart of a process for communicating with a subscriber who has entered a prescribed proximity, according to an exemplary embodiment. This process is explained under the exemplary instant location system 100 of FIG. 1. A first user (e.g., using wireless device 103 a) registers user information with the instant location system 101, per step 501. The system 101 next determines, as in step 503, whether the first user is on the contact list of a second user (e.g., utilizing wireless device 103n). In step 505, the first user enters the proximity or specified zone of the second user, the system 101 provides the wireless device 103 n of the second user with the location of the first user, along with user information, such as an identifier or other attributes (e.g., disabled, etc.), per step 507.

In step 509, the wireless device 103 n prompts the second user with an option to commmunicate with the first user. If the second user elects to communicate with the first user, as determined in step 511, an appropriate communication session is established (step 513).

As described, a user's contact list can be controlled by the subscriber through the wireless device 103 a itself or through a computing device that is separate from the communication device—e.g., computing device 125.

FIG. 6 is a diagram of a wireless device capable of configuring a contact list in support of the location service, according to an exemplary embodiment. In this example, the user can use wireless device 601 to configure and modify the contact list. The device 601 includes a display 603 for providing a graphical user interface (GUI) 605 for modification of the contact list, as well as cursor buttons 607 and a key pad 609.

The GUI 605 presents a contact list that provides, in an exemplary embodiment, an identifier (ID) field for providing the identifiers of members of the user's contact list and a proximity field for specifying the distance to the corresponding members.

By way of example, the user can highlight (or otherwise select) the particular user to reveal user information within a text box 611. In this case, the user has highlighted, using either the cursor keys 607 or key pad 609. The GUI 605 also provides for editing of the contact list through an Edit List button 613. Additionally, the GUI 65 includes an Edit Profile button 615, which permits the user to alter the user profile (or user preferences with respect to the instant location service).

The above administrative function can also be executed using the computing device 125, as next explained.

FIG. 7 is a flowchart of a process for communicating with the instant location system of FIG. 1 to update user profile and contact list, according to an exemplary embodiment. A user logs on the instant location system 101 through the computing device 125 over the data network 119, per step 701. The system 101 can present the user with an option to enter/modify the contact list (step 703). Additionally, the user can enter/modify user profile information (step 705), as well as enter parameters associated with the instant location service—e.g., proximity coverage parameter (step 707).

The instant location system 101, as described in FIGS. 1-7, allow subscribers to provide specific information about themselves in order to learn the proximity of other subscribers. Also, the system 101 provides a capability to permit subscribers to communicate via a wireless device with other subscribers within a pre-defined contact list and proximity.

The above described processes relating to providing instant location service using an integrated set-top may be implemented via software, hardware (e.g., general processor, Digital Signal Processing (DSP) chip, an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc.), firmware or a combination thereof. Such exemplary hardware for performing the described functions is detailed below.

FIG. 8 illustrates a computer system 800 upon which an exemplary embodiment can be implemented. For example, the processes described herein can be implemented using the computer system 800. The computer system 800 includes a bus 801 or other communication mechanism for communicating information and a processor 803 coupled to the bus 801 for processing information. The computer system 800 also includes main memory 805, such as a random access memory (RAM) or other dynamic storage device, coupled to the bus 801 for storing information and instructions to be executed by the processor 803. Main memory 805 can also be used for storing temporary variables or other intermediate information during execution of instructions by the processor 803. The computer system 800 may further include a read only memory (ROM) 807 or other static storage device coupled to the bus 801 for storing static information and instructions for the processor 803. A storage device 809, such as a magnetic disk or optical disk, is coupled to the bus 801 for persistently storing information and instructions.

The computer system 800 may be coupled via the bus 801 to a display 811, such as a cathode ray tube (CRT), liquid crystal display, active matrix display, or plasma display, for displaying information to a computer user. An input device 813, such as a keyboard including alphanumeric and other keys, is coupled to the bus 801 for communicating information and command selections to the processor 803. Another type of user input device is a cursor control 815, such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor 803 and for controlling cursor movement on the display 811.

According to an embodiment, the processes described herein are performed by the computer system 800, in response to the processor 803 executing an arrangement of instructions contained in main memory 805. Such instructions can be read into main memory 805 from another computer-readable medium, such as the storage device 809. Execution of the arrangement of instructions contained in main memory 805 causes the processor 803 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the instructions contained in main memory 805. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the exemplary embodiment. Thus, exemplary embodiments are not limited to any specific combination of hardware circuitry and software.

The computer system 800 also includes a communication interface 817 coupled to bus 801. The communication interface 817 provides a two-way data communication coupling to a network link 819 connected to a local network 821. For example, the communication interface 817 may be a digital subscriber line (DSL) card or modem, an integrated services digital network (ISDN) card, a cable modem, a telephone modem, or any other communication interface to provide a data communication connection to a corresponding type of communication line. As another example, communication interface 817 may be a local area network (LAN) card (e.g. for Ethernet™ or an Asynchronous Transfer Model (ATM) network) to provide a data communication connection to a compatible LAN. Wireless links can also be implemented. In any such implementation, communication interface 817 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information. Further, the communication interface 817 can include peripheral interface devices, such as a Universal Serial Bus (USB) interface, a PCMCIA (Personal Computer Memory Card International Association) interface, etc. Although a single communication interface 817 is depicted in FIG. 8, multiple communication interfaces can also be employed.

The network link 819 typically provides data communication through one or more networks to other data devices. For example, the network link 819 may provide a connection through local network 821 to a host computer 823, which has connectivity to a network 825 (e.g. a wide area network (WAN) or the global packet data communication network now commonly referred to as the “Internet”) or to data equipment operated by a service provider. The local network 821 and the network 825 both use electrical, electromagnetic, or optical signals to convey information and instructions. The signals through the various networks and the signals on the network link 819 and through the communication interface 817, which communicate digital data with the computer system 800, are exemplary forms of carrier waves bearing the information and instructions.

The computer system 800 can send messages and receive data, including program code, through the network(s), the network link 819, and the communication interface 817. In the Internet example, a server (not shown) might transmit requested code belonging to an application program for implementing an exemplary embodiment through the network 825, the local network 821 and the communication interface 817. The processor 803 may execute the transmitted code while being received and/or store the code in the storage device 809, or other non-volatile storage for later execution. In this manner, the computer system 800 may obtain application code in the form of a carrier wave.

The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to the processor 803 for execution. Such a medium may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as the storage device 809. Volatile media include dynamic memory, such as main memory 805. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise the bus 801. Transmission media can also take the form of acoustic, optical, or electromagnetic waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.

Various forms of computer-readable media may be involved in providing instructions to a processor for execution. For example, the instructions for carrying out at least part of the various exemplary embodiments may initially be borne on a magnetic disk of a remote computer. In such a scenario, the remote computer loads the instructions into main memory and sends the instructions over a telephone line using a modem. A modem of a local computer system receives the data on the telephone line and uses an infrared transmitter to convert the data to an infrared signal and transmit the infrared signal to a portable computing device, such as a personal digital assistant (PDA) or a laptop. An infrared detector on the portable computing device receives the information and instructions borne by the infrared signal and places the data on a bus. The bus conveys the data to main memory, from which a processor retrieves and executes the instructions. The instructions received by main memory can optionally be stored on storage device either before or after execution by processor.

In the preceding specification, various preferred embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that flow. The specification and the drawings are accordingly to be regarded in an illustrative rather than restrictive sense. 

1. A method comprising: receiving, at a wireless device of a first user, mapping information of a second user over a wireless network, wherein the mapping information specifies position of the second user; notifying the first user of location of the second user based on the received mapping information; and initiating, by the wireless device, a communication session over the wireless network to the second user.
 2. A method according to claim 1, wherein the mapping information specifies the position of the second user within a prescribed proximity of the wireless device.
 3. A method according to claim 1, further comprising: displaying, on the wireless device, a map including the location of the second user based on the mapping information.
 4. A method according to claim 3, wherein the second user is represented by an icon, and distance to the second user is displayed along with an identifier of the second user.
 5. A method according to claim 1, further comprising: prompting the first user with a choice of communication options for establishing the communication session, wherein the communication options include audio communication and text messaging.
 6. A method according to claim 1, the method further comprising: determining position information of the wireless device based on a plurality of global positioning system (GPS) signals; and transmitting the position information to a mapping module configured to generate the mapping information in response to the position information.
 7. A method according to claim 1, wherein the wireless device includes a cellular phone.
 8. A method according to claim 1, wherein the second user is a member of a contact list specified by the first user, the method further comprising: presenting a graphical user interface (GUI) to the first user for modifying the contact list.
 9. A method according to claim 1, further comprising: notifying the first user of location of a third user based on the received mapping information; and initiating, by the wireless device, another communication session over the wireless network to the third user.
 10. A mobile apparatus operated by a first user, the apparatus comprising: a processor configured to receive mapping information of a second user over a wireless network, wherein the mapping information specifies position of the second user; and a display configured to present location of the second user based on the received mapping information, wherein a communication session is initiated over the wireless network to the second user.
 11. An apparatus according to claim 10, wherein the mapping information specifies the position of the second user within a prescribed proximity of the wireless device.
 12. An apparatus according to claim 10, wherein the display is further configured to display, on the wireless device, a map including the location of the second user based on the mapping information.
 13. An apparatus according to claim 12, wherein the second user is represented by an icon, and distance to the second user is displayed along with an identifier of the second user.
 14. An apparatus according to claim 10, wherein the display is further configured to present a choice of communication options for establishing the communication session, wherein the communication options include audio communication and text messaging.
 15. An apparatus according to claim 10, further comprising: a global positioning system (GPS) module coupled to the processor and configured to determine position information of the wireless device based on a plurality of global positioning system (GPS) signals, wherein the position information is transmitted to a mapping module configured to generate the mapping information in response to the position information.
 16. An apparatus according to claim 10, wherein the second user is a member of a pre-defined contact list, and the display is further configured to present a graphical second user interface (GUI) for modifying the contact list.
 17. An apparatus according to claim 10, wherein the display is further configured to present location of another second user based on the received mapping information, and another communication session is initiated over the wireless network to the other second user.
 18. A method comprising: receiving location information from a first wireless device over a wireless network; receiving location information from a second wireless device over the wireless network; generating mapping information for the first wireless device, wherein the mapping information specifies position of the second wireless device within a prescribed proximity of the wireless device; and transmitting the mapping information to the first wireless device over the wireless network, wherein the first wireless device initiates a communication session over the wireless network to the second wireless device.
 19. A method according to claim 18, wherein the first wireless device is configured to display a map including the location of the second wireless device based on the mapping information, the second wireless device being represented by an icon, and distance to the second wireless device is displayed along with an identifier of a user of the second wireless device.
 20. A method according to claim 18, wherein the first wireless device is further configured to prompt a user with a choice of communication options for establishing the communication session, wherein the communication options include audio communication and text messaging.
 21. A method according to claim 18, wherein each of the wireless devices is configured to determine position information based on a plurality of global positioning system (GPS) signals.
 22. A method according to claim 18, further comprising: permitting modification of a contact list of the first wireless device via the first wireless device over the wireless network or a computing device over a wired data network.
 23. A system comprising: a mapping module configured to receive location information from a first wireless device over a wireless network, and location information from a second wireless device over the wireless network, wherein the mapping module is further configured to generate mapping information for the first wireless device, the mapping information specifying position of the second wireless device within a prescribed proximity of the first wireless device, wherein the mapping information is transmitted to the first wireless device, the first wireless device initiating a communication session over the wireless network to the second wireless device.
 24. A system according to claim 23, wherein the first wireless device is configured to display a map including the location of the second wireless device based on the mapping information, the second wireless device being represented by an icon, and distance to the second wireless device is displayed along with an identifier of a user of the second wireless device.
 25. A system according to claim 23, wherein the first wireless device is further configured to prompt a user with a choice of communication options for establishing the communication session, wherein the communication options include audio communication and text messaging.
 26. A system according to claim 23, wherein the wireless devices are each is configured to determine position information based on a plurality of global positioning system (GPS) signals.
 27. A system according to claim 23, further comprising: a user profile database configured to store a contact list of the first wireless device, wherein the contact list of the first wireless device is modified via the first wireless device over the wireless network or a computing device over a wired data network. 